<template>
	<view class="detail">
		<view class="title">{{detail.title}}</view>
		<view class="info">
			<view class="author">编辑：{{detail.author}}</view>
			<view class="time">发布日期：{{detail.posttime}}</view>
		</view>
		<view class="content">
			<!-- 富文本 -->
			<rich-text :nodes="detail.content"></rich-text>
		</view>
		<view class="description">
			声明：本站的内容均采集与腾讯新闻，如果侵权请联系管理（513894357@qq.com）进行整改删除，本站进行了内容采集不代表本站及作者观点，若有侵犯请及时联系管理员，谢谢您的支持。
		</view>
	</view>
</template>

<script>
	import {parseTime} from "@/utils/tool.js"
	
	export default {
		data() {
			return {
				options: null,
				detail: {}
			};
		},
		onLoad(e){
			// console.log(e);
			this.options = e;	//在onLoad中接收上一个页面传过来的参数
			this.getDetail();
		},
		methods:{
			getDetail(){
				uni.request({
					url: "https://ku.qingnian8.com/dataApi/news/detail.php",
					data: this.options,
					success: res=>{
						// console.log(res);
						res.data.posttime = parseTime(res.data.posttime);
						res.data.content = res.data.content.replace(/<img/gi,'<img style="max-width:100%"');	//使用正则的方式去修改样式
						this.detail = res.data;
						
						this.saveHistory();
						
						uni.setNavigationBarTitle({
							title: this.detail.title
						})
					}
				})
			},
			// 将数据存储在本地缓存中指定的 key 中
			saveHistory(){
				let historyArr = uni.getStorageSync("historyArr") || [];	//用数组保存数据
				let item = {
					id: this.detail.id,
					clasaid: this.detail.clasaid,
					picurl: this.detail.picurl,
					title: this.detail.title,
					looktime: parseTime(Date.now())
				}
				
				// 对数组去重（拿当前详情页的id和缓存里的id比对，若存在，则根据索引将缓存数据删掉再添加，反之，则直接添加）
				let index = historyArr.findIndex(i=>{
					return i.id == this.detail.id;
				})
				if(index>=0){
					historyArr.splice(index,1);
				}
				
				
				historyArr.unshift(item);
				
				// 优化：让浏览记录只显示10条
				historyArr = historyArr.slice(0,10);
				
				uni.setStorageSync("historyArr",historyArr);
			}
		}
	}
</script>

<style lang="scss" scoped>
	.detail{
		padding: 30rpx;
		.title{
			font-size: 46rpx;
			color: #333;
		}
		.info{
			background: #F6F6F6;
			padding:20rpx;
			font-size: 25rpx;
			color:#666;
			display: flex;
			justify-content: space-between;
			margin:40rpx 0;
		}
		.content{
			padding-bottom: 50rpx;
			// /deep/ img{  			// /deep/在微信小程序不支持，在h5支持
			// 	max-width: 100%;
			// }
		}
		.description{
			background: #FEF0F0;
			font-size: 26rpx;
			padding:20rpx;
			color:#F89898;
			line-height: 1.8em;
		}
	}
</style>
